# 1 为什么需要self:
#   站在python解释器角度思考问: 解决类和对象 1:多 关系
#   对run(self)方法, 那个对象调用run方法self就是谁
# 2 self作用: 在类的内部来调用类的属性和方法, 采用self
# 3 区分类的内部和类的外部
# 小结: 在类外部调用方法: 对象.方法() 在类的内部调用属性和方法用self.run


class Car:
    # self: 谁调用类中的run函数, self就代表谁
    def run(self):
        print(f'跑起来, self:{self}')

    # 在类的内部调用类的属性和方法, 采用self
    def work(self):
        self.run()
        pass


mycar01 = Car()
print('mycar01-->', mycar01)
mycar01.run()
# 相当于
Car.run(mycar01)


print('-'*55)


mycar02 = Car()
print('mycar02-->', mycar02)
mycar02.run()
# 相当于
Car.run(mycar02)


print('-'*55)


mycar03 = Car()
mycar03.work()

